package com.zhongwang.mms.module.purchase.dao;/**
 * 项目名称（软件名称）：忠旺机械物资管理系统(mms)
 * 研发设计单位：忠旺机械设备制造有限公司机械设计院智能控制设计科设计与研发。
 * 版权所有：忠旺机械设备制造有限公司
 * 注：本项目的一切技术专利，使用规范归解释权由忠旺机械设备制造有限公司所有。
 * 软件版本：Ver 1.0.0
 * 文件路径：com.zhongwang.mms.module.purchase.dao
 * 创建时间：2020年03月16日 14时07分
 **/

import com.zhongwang.mms.gen.entity.TWarehouseInfo;
import com.zhongwang.mms.module.basic.model.TWarehouseInfoModel;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @InterfaceName： PurWarInManageDao
 * @Description：
 * @Author： 徐一贺
 * @Date： 2020/3/16 14:07
 * @Version： V1.0
 **/
@Repository
public interface PurWarInManageDao{

    /**
     *@FunctionName: findLastPRKOrderCode
     *@Description: 获取最新最后的入库单号
     *@Author: 徐一贺
     *@CreateDate: 2020/3/17 13:46
     *@Phone: 18241927380
     *@Return: String 最新最后的入库单号
     */
    String findLastPRKOrderCode();

    /**
     *@FunctionName: findLastPCKOrderCode
     *@Description: 获取最新最后的出库单号
     *@Author: 徐一贺
     *@CreateDate: 2020/3/17 13:46
     *@Phone: 18241927380
     *@Return: String 最新最后的出库单号
     */
    String findLastPCKOrderCode();


    /**
     *@FunctionName: getPOrderByOdrCode
     *@Description: 根据单据编码获取出入库单主表单据编码
     *@Author: 徐一贺
     *@CreateDate: 2020/3/17 14:50
     *@Phone: 18241927380
     *@Param:
     *@Return:
     *@Version:
     */
    String findPOrderByOdrCode(String newOrderCode);

    /**
     *@FunctionName: findWhiIdByWhiCode
     *@Description: 根据库存编号查询库存主键
     *@Author: 徐一贺
     *@CreateDate: 2020/3/17 16:41
     *@Phone: 18241927380
     *@Param: 
     *@Return: 
     *@Version: 
     */
    Integer findWhiIdByWhiCode(String whiCode);



    Integer findPRKOrderCodeCount();


    /**
     *@FunctionName: findWarehouseInfoByName
     *@Description: 根据仓库代码获取仓库
     *@Author: 徐一贺
     *@CreateDate: 2020/3/23 14:36
     *@Phone: 18241927380
     *@Param:
     *@Return:
     *@Version:
     */
    TWarehouseInfo findWarehouseInfoByCode(String code);


    /**
     *@FunctionName: findWarehouseInfoList
     *@Description: 外购件页面专属获取仓库信息列表
     *@Author: 徐一贺
     *@CreateDate: 2020/3/18 16:55
     *@Phone: 18241927380
     *@Param:
     *@Return: List<TWarehouseInfo> 仓库信息列表
     *@Version: 1.0.0
     */
    List<TWarehouseInfo> findWarehouseInfoList();
    /**
     *@FunctionName: findWarehouseInfoList
     *@Description: 原料库页面专属获取仓库信息列表
     *@Author: 徐一贺
     *@CreateDate: 2020/3/18 16:55
     *@Phone: 18241927380
     *@Param:
     *@Return: List<TWarehouseInfo> 仓库信息列表
     *@Version: 1.0.0
     */
    List<TWarehouseInfo> findMWarehouseInfoList();
    /**
     *@FunctionName: findWarehouseInfoList
     *@Description: 成品库页面专属获取仓库信息列表
     *@Author: 徐一贺
     *@CreateDate: 2020/3/18 16:55
     *@Phone: 18241927380
     *@Param:
     *@Return: List<TWarehouseInfo> 仓库信息列表
     *@Version: 1.0.0
     */
    List<TWarehouseInfo> findHWarehouseInfoList();
    /**
     *@FunctionName: listAll
     *@Description: 获取全部有效仓库
     *@Author: 徐一贺
     *@CreateDate: 2020/5/15 9:35
     *@Phone: 18241927380
     *@Param: []
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Version: 1.0.0
     */
    List<TWarehouseInfo> findAllWarehouseInfoList();
    /**
     *@FunctionName: listPAndH
     *@Description: 获取仓库外购件库和成品库列表
     *@DesignIdea: 获取仓库外购件库和成品库列表
     *@Author: 徐一贺
     *@CreateDate: 2020/6/2 15:09
     *@Phone: 18241927380
     *@Param: []
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw:
     *@Version: v 1.0.0
     */
    List<TWarehouseInfo> findPAndHWarehouseInfoList();
    /**
     *@FunctionName: findWarehouseInfoListByWhiPurControllerType
     *@Description: 根据仓库使用类型获取仓库列表
     *@DesignIdea: 根据仓库使用类型获取仓库列表
     *@Author: 徐一贺
     *@CreateDate: 2020/6/2 15:09
     *@Phone: 18241927380
     *@Param: []
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw:
     *@Version: v 1.0.0
     */
    List<TWarehouseInfo> findWarehouseInfoListByWhiPurControllerType(TWarehouseInfoModel param);
}
